The Non-Volatile Dual In-Line Memory Module (NVDIMM) places non-volatile memory into the memory channel in a Dual In-Line Memory Module (DIMM) form factor. But NVDIMM introduces a new wrinkle not generally found in DRAM. Whereas DIMMs normally only support byte-addressable storage (although DIMMs can support block-addressable storage with help from the operating system), NVDIMMs can support either byte-addressable or block-addressable storage.
A simple solution would be to force the NVDIMM to use only one addressing mode: that is, a particular NVDIMM functions only as either byte-addressable main memory/storage or block-addressable storage, not both. But this is a simplistic solution; and even as a simplistic solution, this approach does not work in all situations.
Because different applications can have different memory requirements, limiting an NVDIMM to a particular address mode can lead to suboptimal utilization of resources. One NVDIMM, using one access mode, might be overworked, while another NVDIMM, using a different address mode, might be underutilized. And this scenario assumes that a computer system includes multiple NVDIMMs. If the computer system includes only one NVDIMM, then an access mode not offered by that NVDIMM might be completely unavailable.
A need remains for a way to permit the use of multiple access modes in an NVDIMM.